//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using CommunityServer.Components;
using CommunityServer.Galleries.Components;

namespace CommunityServer.Galleries.Controls
{
	/// <summary>
	/// Provides access/security check to restrict only blog owners/admin from using the the current weblog
	/// </summary>
	public abstract class GalleryAdminTemplatedWebControl : GalleryTemplatedWebControl
	{
        /// <summary>
        /// Overrides Authorize and validates the current users has write access to this blogs content
        /// </summary>
        /// <param name="g"></param>
        protected override void Authorize(Gallery g)
        {
            base.Authorize(g);

            if(CurrentUser.IsAnonymous)
                throw new CSException(CSExceptionType.AccessDenied,"Anonymous Gallery Posting Access");

            if(!CurrentUser.IsGalleryAdministrator)
                Permissions.AccessCheck(g, Permission.Post, CurrentUser);
        }
	}
}
